package com.dq.health.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dq.health.dto.request.role.QueryRoleListRequest;
import com.dq.health.entity.role.SysRole;

/**
 * <角色接口>
 *
 * @Author: chenxin
 * @Date: 2021/5/11
 */
public interface IAPIRoleService {

    /**
     * 功能描述: 查询所有可用的角色
     *
     * @Author: chenxin
     * @Date: 2021/5/11
     */
    List<SysRole> getAllEnableRole();

    /**
     * 功能描述: 查询角色列表
     *
     * @author: chenxin
     * @param: [req]
     * @date: 2021/5/11
     */
    IPage<SysRole> getRoleList(QueryRoleListRequest req);

   /**
    * 功能描述: 查询角色详情
    *
    * @author: chenxin
    * @param: [roleId]
    * @date: 2021/5/11
    */
    SysRole getSysRole(Long roleId);

    /**
     * 功能描述: 新增角色
     *
     * @author: chenxin
     * @param: [sysRole, menuIds]
     * @date: 2021/5/11
     */
    void saveRole(SysRole sysRole, List<Long> menuIds);

    /**
     * 功能描述: 编辑角色基本消息
     *
     * @author: chenxin
     * @param: [sysRole]
     * @date: 2021/5/11
     */
    void updateRoleBaseInfo(SysRole sysRole);

    /**
     * 功能描述: 编辑角色
     *
     * @author: chenxin
     * @param: [sysRole, menuIds]
     * @date: 2021/5/11
     */
    void updateRole(SysRole sysRole, List<Long> menuIds);

}
